AMANDA.CONF(5) | File formats and conventions | AMANDA.CONF(5) |
NAME¶
amanda.conf - Main configuration file for Amanda, the Advanced Maryland Automatic Network Disk Archiver
DESCRIPTION¶
amanda.conf(5) is the main configuration file for Amanda. This manpage lists the relevant sections and parameters of this file for quick reference.
The file <CONFIG_DIR>/<config>/amanda.conf is loaded.
SYNTAX¶
There are a number of configuration parameters that control the behavior of the Amanda programs. All have default values, so you need not specify the parameter in amanda.conf if the default is suitable.
COMMENTS¶
Lines starting with # are ignored, as are blank lines. Comments may be placed on a line with a directive by starting the comment with a #. The remainder of the line is ignored.
KEYWORDS AND IDENTIFIERS¶
Keywords are case insensitive, i.e. mailto and MailTo are treated the same. Also, the characters ´-´ and ´_´ are interchangeable in all predefined Amanda keywords: device_property and device-property have the same meaning.
Identifiers are names which are defined in the configuration itself, such as dumptypes or interfaces. Identifiers are are case-insensitive, but sensitive to ´-´ vs. ´_´. Identifiers should be quoted in the configuration file, although For historical reasons, the quotes are optional.
Strings are always quoted with double quotes ("), and any double quotes or backslashes within the string are escaped with a backslash:
tapelist "/path/to/tapelist" property "escaped-string" "escaping: \\ (backslash) and \" (double-quote)"
To summarize, then:
# QUOTES CASE -/_ logdir "logs" # required sensitive sensitive send-amreport-on strange # prohibited insensitive insensitive tapetype "EXABYTE" # optional insensitive sensitive define dumptype "dt" { # optional insensitive sensitive
"dumptype-common" # optional insensitive sensitive
strategy noincr # prohibited insensitive insensitive }
VALUE SUFFIXES¶
Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
b byte bytes
bps
k kb kbyte kbytes kilobyte kilobytes
kps kbps
It is the default multiplier for all size options.
m mb meg mbyte mbytes megabyte megabytes
mps mbps
g gb gbyte gbytes gigabyte gigabytes
tape tapes
day days
week weeks
Note
The value inf may be used in most places where an integer is expected to mean an infinite amount.
Boolean arguments may have any of the values y, yes, t, true or on to indicate a true state, or n, no, f, false or off to indicate a false state. If no argument is given, true is assumed.
PARAMETER ORDER¶
In general, the order in which parameters occur in the configuration file does not matter, with the exception of subsection inheritance. For example, if dumptype "normal-encrypt" which inherits from dumptype "normal", then "normal" must appear first in the configuration file.
STRINGS¶
Quoted strings in Amanda follow a common, C-like syntax. Printable characters and whitespace are kept as-is, except that the backslash character (\) is used as an escape character, and a double-quote ends the string. The allowed escape sequences are
Illegally quoted strings are handled on a "best-effort" basis, which may lead to unexpected results.
ESCAPE SEQUENCE BECOMES
\\ \
\" "
\n (newline)
\t (tab)
\r (carriage return)
\f (form-feed)
\1 - \7
\01 - \77
\001 - \377 (character specified in octal)
Examples:
finserver "/data/finance/XYZ Corp´s \"real\" finances" finance-high eth0 -1 property "syspath" "C:\\WINDOWS\\SYSTEM"
GLOBAL PARAMETERS¶
org string
mailer string
mailto string
send-amreport-on [all|strange|error|never]
all
strange
error
never
dumpcycle int
Note
This parameter may also be set in a specific dumptype (see below). This value sets the default for all dumptypes so must appear in amanda.conf before any dumptypes are defined.
runspercycle int
tapecycle int
This is calculated by multiplying the number of amdump runs per dump cycle (runspercycle parameter) times the number of tapes used per run (runtapes parameter). Typically two to four times this calculated number of tapes are in rotation. While Amanda is always willing to use a new tape in its rotation, it refuses to reuse a tape until at least ´tapecycle -1´ number of other tapes have been used.
It is considered good administrative practice to set the tapecycle parameter slightly lower than the actual number of tapes in rotation. This allows the administrator to more easily cope with damaged or misplaced tapes or schedule adjustments that call for slight adjustments in the rotation order.
usetimestamps bool
label_new_tapes string
When using this directive, specify the template for new tape labels. The template should contain some number of contiguous ´%´ characters, which will be replaced with a generated number. Be sure to specify enough ´%´ characters that you do not run out of tape labels. Example: label_new_tapes "DailySet1-%%%"
dumpuser string
printer string
tapedev string
If a tape changer is configured (see the tpchanger option), this option might not be used.
If tapedev is null:, programs such as amdump will run normally but all images will be thrown away. This should only be used for debugging and testing, and probably only with the record option set to no.
device_property string string
device_property "BLOCK_SIZE" "128k"
property [append] string string+
tpchanger string
If a tape changer is configured, choose one of the changer scripts (e.g. chg-scsi) and enter that here.
changerdev string
changerfile string
runtapes int
If a tape changer is configured, this may be set larger than one to let Amanda write to more than one tape.
Note that this is an upper bound on the number of tapes, and Amanda may use less.
Also note that as of this release, Amanda does not support true tape overflow. When it reaches the end of one tape, the backup image Amanda was processing starts over again on the next tape.
maxdumpsize int
The default unit is Kbytes if it is not specified.
taperalgo [first|firstfit|largest|largestfit|smallest|last]
first
firstfit
largest
largestfit
smallest
last
labelstr string
tapetype identifier
ctimeout int
dtimeout int
etimeout int
connect_tries int
req_tries int
netusage int
inparallel int
displayunit "k|m|g|t"
dumporder string
s: smallest size S: largest size t: smallest time T: largest time b: smallest bandwidth B: largest bandwidth
maxdumps int
Note that this parameter may also be set in a specific dumptype (see below). This value sets the default for all dumptypes so must appear in amanda.conf before any dumptypes are defined.
bumpsize int
The default unit is Kbytes if it is not specified.
The global setting of this parameter can be overwritten inside of a dumptype-definition.
See also the options bumppercent, bumpmult and bumpdays.
bumppercent int
If this parameter is set to 0, the value of the parameter bumpsize is used to trigger bumping.
The global setting of this parameter can be overwritten inside of a dumptype-definition.
See also the options bumpsize, bumpmult and bumpdays.
bumpmult float
The global setting of this parameter can be overwritten inside of a dumptype-definition.
bumpdays int
The global setting of this parameter can be overwritten inside of a dumptype-definition.
diskfile string
infofile string
logdir string
indexdir string
tapelist string
device_output_buffer_size int
The default unit is bytes if it is not specified.
tapebufs int
reserve number
autoflush bool
amrecover_do_fsf bool
amrecover_check_label bool
amrecover_changer string
columnspec string
Compress (compression ratio) Disk (client disk name) DumpRate (dump rate in KBytes/sec) DumpTime (total dump time in hours:minutes) HostName (client host name) Level (dump level) OrigKB (original image size in KBytes) OutKB (output image size in KBytes) TapeRate (tape writing rate in KBytes/sec) TapeTime (total tape time in hours:minutes)
columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"
The above will display the disk information in 18 characters and put one space before it. The hostname column will be 10 characters wide with no space to the left. The output KBytes column is seven characters wide with one space before it.
includefile string
debug_auth int
debug_event int
debug_holding int
debug_protocol int
debug_planner int
debug_driver int
debug_dumper int
debug_chunker int
debug_taper int
flush-threshold-dumped int
Needless to say, your holding disk must be big enough that this criterion could be satisfied. If the holding disk cannot be used for a particular dump (because, for example, there is no remaining holding space) then Amanda will disregard the constraint specified by this setting and start a new volume anyway. Once writing to a volume has begun, this constraint is not applied unless and until a new volume is needed.
The value of this parameter may not exceed than that of the flush-threshold-scheduled parameter.
flush-threshold-scheduled int
Needless to say, your holding disk must be big enough that this criterion could be satisfied. If the holding disk cannot be used for a particular dump (because, for example, there is no remaining holding space) then Amanda will disregard the constraint specified by this setting and start a new volume anyway. Once writing to a volume has begun, this constraint is not applied unless and until a new volume is needed.
The value of this parameter may not be less than that of the flush-threshold-dumped or taperflush parameters.
taperflush int
The value of this parameter may not exceed that of the flush-threshold-scheduled parameter.; autoflush must be set to ´yes´ if taperflush is greater than 0.
reserved-udp-port int,int
reserved-tcp-port int,int
unreserved-tcp-port int,int
HOLDINGDISK SECTION¶
The amanda.conf file may define one or more holding disks used as buffers to hold backup images before they are written to tape. The syntax is:
holdingdisk name {
holdingdisk-option holdingdisk-value
... }
Name is a logical name for this holding disk.
The options and values are:
comment string
directory disk
use int
chunksize int
The default unit is Kbytes if it is not specified.
If 0 is specified, Amanda will create holding disk chunks as large as ((INT_MAX/1024)-64) Kbytes.
Each holding disk chunk includes a 32 Kbyte header, so the minimum chunk size is 64 Kbytes (but that would be really silly).
Operating systems that are limited to a maximum file size of 2 Gbytes actually cannot handle files that large. They must be at least one byte less than 2 Gbytes. Since Amanda works with 32 Kbyte blocks, and to handle the final read at the end of the chunk, the chunk size should be at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum file size, e.g. 2047 Mbytes.
DUMPTYPE SECTION¶
The amanda.conf(5) file may define multiple sets of backup options and refer to them by name from the disklist(5) file. For instance, one set of options might be defined for file systems that can benefit from high compression, another set that does not compress well, another set for file systems that should always get a full backup and so on.
A set of backup options are entered in a dumptype section, which looks like this:
define dumptype "name" {
dumptype-option dumptype-value
... }
Name is the name of this set of backup options. It is referenced from the disklist(5) file.
Some of the options in a dumptype section are the same as those in the main part of amanda.conf(5). The main option value is used to set the default for all dumptype sections. For instance, setting dumpcycle to 50 in the main part of the config file causes all following dumptype sections to start with that value, but the value may be changed on a section by section basis. Changes to variables in the main part of the config file must be done before (earlier in the file) any dumptypes are defined.
The dumptype options and values are:
auth string
amandad_path string
client_username string
bumpsize int
The default unit is Kbytes if it is not specified.
See also the options bumppercent, bumpmult and bumpdays.
bumppercent int
If this parameter is set to 0, the value of the parameter bumpsize is used to trigger bumping.
See also the options bumpsize, bumpmult and bumpdays.
bumpmult float
bumpdays int
comment string
comprate float [, float ]
compress [client|server] string
For either type of compression, Amanda also allows the selection of three styles of compression. Best is the best compression available, often at the expense of CPU overhead. Fast is often not as good a compression as best, but usually less CPU overhead. Or to specify Custom to use your own compression method. (See dumptype custom-compress in example/amanda.conf for reference)
So the compress options line may be one of:
compress none
compress client fast
compress client best
compress client custom
PROG must not contain white space and it must accept -d for uncompress.
compress server fast
compress server best
compress server custom
PROG must not contain white space and it must accept -d for uncompress.
Note that some tape devices do compression and this option has nothing to do with whether that is used. If hardware compression is used (usually via a particular tape device name or mt option), Amanda (software) compression should be disabled.
dumpcycle int
encrypt [none|client|server]
So the encrypt options line may be one of:
encrypt none
encrypt client
PROG must not contain white space.
Specify client_decrypt_option "decryption-parameter" Default: "-d"
decryption-parameter must not contain white space.
(See dumptype client-encrypt-nocomp in example/amanda.conf for reference)
encrypt server
PROG must not contain white space.
Specify server_decrypt_option "decryption-parameter" Default: "-d"
decryption-parameter must not contain white space.
(See dumptype server-encrypt-fast in example/amanda.conf for reference)
Note that current logic assumes compression then encryption during backup(thus decrypt then uncompress during restore). So specifying client-encryption AND server-compression is not supported. amcrypt which is a wrapper of aespipe is provided as a reference symmetric encryption program.
estimate client|calcsize|server
client
calcsize
server
exclude [ list|file ][[optional][ append ][ string ]+]
All exclude expressions are concatenated in one file and passed to GNU-tar as an --exclude-from argument.
Exclude expressions must always be specified as relative to the head directory of the DLE.
With the append keyword, the string is appended to the current list, without it, the string overwrites the list.
If optional is specified for exclude list, then amcheck will not complain if the file doesn´t exist or is not readable.
For exclude list, if the file name is relative, the disk name being backed up is prepended. So if this is entered:
the actual file used would be /var/.amanda.excludes for a backup of /var, /usr/local/.amanda.excludes for a backup of /usr/local, and so on.
exclude list ".amanda.excludes"
holdingdisk [ never|auto|required ]
never|no|false|off
auto|yes|true|on
required
ignore boolean
include [ list|file ][[optional][ append ][ string ]+]
All include expressions are expanded by Amanda, concatenated in one file and passed to GNU-tar as a --files-from argument. They must start with "./" and contain no other "/".
Include expressions must always be specified as relative to the head directory of the DLE.
Note
For globbing to work at all, even the limited single level, the top level directory of the DLE must be readable by the Amanda user.
If optional is specified for include list, then amcheck will not complain if the file doesn´t exist or is not readable.
For include list, If the file name is relative, the disk name being backed up is prepended.
index boolean
kencrypt boolean
maxdumps int
maxpromoteday int
priority string
program [DUMP|GNUTAR|APPLICATION]
DUMP
GNUTAR
APPLICATION
application string
script string
property [append] string string+
record boolean
skip-full boolean
skip-incr boolean
ssh_keys string
starttime int
strategy string
standard
nofull
noinc
skip
incronly
tape_splitsize int
The default unit is Kbytes if it is not specified.
split_diskbuffer string
fallback_splitsize int
The default unit is Kbytes if it is not specified.
The following dumptype entries are predefined by Amanda:
define dumptype "no-compress" {
compress none } define dumptype "compress-fast" {
compress client fast } define dumptype "compress-best" {
compress client best } define dumptype "srvcompress" {
compress server fast } define dumptype "bsd-auth" {
auth bsd } define dumptype "krb4-auth" {
auth krb4 } define dumptype "no-record" {
record no } define dumptype "no-hold" {
holdingdisk no } define dumptype "no-full" {
skip-full yes }
In addition to options in a dumptype section, one or more other dumptype names may be supplied as identifiers, which make this dumptype inherit options from other previously defined dumptypes. For instance, two sections might be the same except for the record option:
define dumptype "normal" {
comment "Normal backup, no compression, do indexing"
no-compress
index yes
maxdumps 2 } define dumptype "testing" {
comment "Test backup, no compression, do indexing, no recording"
"normal"
record no }
Amanda provides a dumptype named global in the sample amanda.conf file that all dumptypes should reference. This provides an easy place to make changes that will affect every dumptype.
TAPETYPE SECTION¶
The amanda.conf file may define multiple types of tape media and devices. The information is entered in a tapetype section, which looks like this in the config file:
define tapetype "name" {
tapetype-option tapetype-value
... }
Name is the name of this type of tape medium/device. It is referenced from the tapetype option in the main part of the config file.
The tapetype options and values are:
comment string
filemark int
length int
Note that this value is only used by Amanda to schedule which backups will be run. Once the backups start, Amanda will continue to write to a tape until it gets an error, regardless of what value is entered for length (but see amanda-devices(7) for exceptions).
blocksize int
readblocksize int
The default unit is Kbytes if it is not specified.
speed int
lbl-templ string
In addition to options, another tapetype name may be supplie as an identifier, which makes this tapetype inherit options from another tapetype. For instance, the only difference between a DLT4000 tape drive using Compact-III tapes and one using Compact-IV tapes is the length of the tape. So they could be entered as:
define tapetype "DLT4000-III" {
comment "DLT4000 tape drives with Compact-III tapes"
length 12500 mbytes # 10 Gig tapes with some compression
filemark 2000 kbytes
speed 1536 kps } define tapetype "DLT4000-IV" {
"DLT4000-III"
comment "DLT4000 tape drives with Compact-IV tapes"
length 25000 mbytes # 20 Gig tapes with some compression }
INTERFACE SECTION¶
The amanda.conf file may define multiple types of network interfaces. The information is entered in an interface section, which looks like this:
define interface "name" {
interface-option interface-value
... }
name is the name of this type of network interface. It is referenced from the disklist file.
Note that these sections define network interface characteristics, not the actual interface that will be used. Nor do they impose limits on the bandwidth that will actually be taken up by Amanda. Amanda computes the estimated bandwidth each file system backup will take based on the estimated size and time, then compares that plus any other running backups with the limit as another of the criteria when deciding whether to start the backup. Once a backup starts, Amanda will use as much of the network as it can leaving throttling up to the operating system and network hardware.
The interface options and values are:
comment string
use int
In addition to options, another interface name may be supplied as an identifier, which makes this interface inherit options from another interface. At the moment, this is of little use.
APPLICATION SECTION¶
The amanda.conf file may define multiple types of application. The information is entered in a application-tool section, which looks like this:
define application-tool "name" {
application-option application-value
... }
name is the name of this type of application. It is referenced from the dumptype
The application-tool options and values are:
comment string
plugin string
property [append] [priority] string string+
SCRIPT SECTION¶
The amanda.conf file may define multiple types of script. The information is entered in a script-tool section, which looks like this:
define script-tool "name" {
script-option script-value
... }
name is the name of this type of script. It is referenced from the dumptype
The script-tool options and values are:
comment string
plugin string
execute_where [client|server]
execute_on execute_on[,execute_on]*
pre-dle-amcheck
pre-host-amcheck
post-dle-amcheck
post-host-amcheck
pre-dle-estimate
pre-host-estimate
post-dle-estimate
post-host-estimate
pre-dle-backup
pre-host-backup
post-dle-backup
post-host-backup
pre-recover
post-recover
pre-level-recover
post-level-recover
inter-level-recover
If you recover level 0 and 2 of the disk /usr with amrecover, it will execute:
script --pre-recover script --pre-level-recover --level 0 #recovering level 0 script --post-level-recover --level 0 script --inter-level-recover --level 0 --level 2 script --pre-level-recover --level 2 #recovering level 2 script --post-level-recover --level 2 script --post-recover
property [append] [priority] string string+
DEVICE SECTION¶
Backend storage devices are specified in amanda.conf in the form of "device" sections, which look like this:
define device name {
commend "comment (optional)"
tapedev "device-specifier"
device_property "prop-name" "prop-value"
... }
name is the user-specified name of this device. It is referenced from the global tapedev parameter. The device-specifier specifies the device name to use; see amanda-devices(7). As with most sections, the comment parmeter is optional and only for the user´s convenience.
An arbitrary number of device_property parameters can be specified. Again, see amanda-devices(7) for information on device properties.
CHANGER SECTION¶
Changers are described in amanda.conf in the form of "changer" sections, which look like this:
define changer name {
comment "comment (optional)"
tapedev "tape-device"
tpchanger "changer-type"
changerdev "device-name"
changerfile "state-file"
... }
name is the user-specified name of this device. The remaining parameters are specific to the changer type selected.
SEE ALSO¶
amanda(8), amanda-client.conf(5), amcrypt(8), aespipe(1), : http://wiki.zmanda.com
AUTHORS¶
James da Silva <jds@amanda.org>
Stefan G. Weichinger <sgw@amanda.org>
11/05/2009 | Amanda 2.6.1p2 |